﻿package com.eitb.programas.multimediaAutomatico {
	import flash.events.*;
	import flash.display.*;
	import flash.net.*;
	import com.eitb.literales.*;
	import com.eitb.programas.multimediaAutomatico.rutas.*;

	public class Main extends Sprite {
		private const XML_ID:String="test";

		private static var vMultimediaAutomatico:IVistaMultimediaAutomatico;
		private var xml:XML;

//		private var idiomaRetrived:String=loaderInfo.parameters.idioma;
		private var idiomaRetrived:String="es";
		private var idioma:int;

		public function Main():void {
			switch (this.idiomaRetrived) {
				case "en" :
					this.idioma=Literales.EN;
					break;
				case "es" :
					this.idioma=Literales.ES;
					break;
				case "eu" :
				case "baq" :
					this.idioma=Literales.EU;
					break;
				case "fr" :
					this.idioma=Literales.FR;
					break;
				default :
					this.idioma=Literales.EN;
			}
			this.loadXml();
		}

		// CARGA XML
		private function loadXml():void {
			var loader:URLLoader;
			loader = new URLLoader();
			this.configureListeners(loader);
			try {
				loader.load(new Rutas().getXml(XML_ID, this.idiomaRetrived));
			} catch (error:Error) {
			}
		}
		private function completeHandler(event:Event):void {
			var loader:URLLoader=URLLoader(event.target);
			this.xml=new XML(loader.data);
			this.initMultimediaAutomatico(this.xml.multimediaAutomatico);
		}
		private function configureListeners(dispatcher:IEventDispatcher):void {
			dispatcher.addEventListener(Event.COMPLETE, completeHandler);
		}
		// CARGA XML

		private function initMultimediaAutomatico(xml:XMLList):void {
			var dialogo:DialogoMultimediaAutomatico = new DialogoMultimediaAutomatico();
			var modelo:ModeloMultimediaAutomatico = new ModeloMultimediaAutomatico();

			Main.vMultimediaAutomatico=dialogo;
			this.addChild(dialogo);

			dialogo.initControlador(modelo);
			modelo.initVista(dialogo);
			modelo.initVistaTextosAutomaticos(dialogo);
			modelo.initVistaImagenesAutomaticas(dialogo);

			modelo.initIdioma(this.idioma);
			modelo.initXmlTextos(xml.textos);
			modelo.initXmlImagenes(xml.imagenes);
			
			modelo.loadImagenes();
		}
	}
}